#ifndef YASDOWNLOADCONFIG_H_
#define YASDOWNLOADCONFIG_H_

#include <vector>
#include <string>
#include <iterator>
#include <fstream>
#include <sstream>

#include "Yas.h"
#include "YasCommon.h"

namespace yas{

class YasDownloadConfig: public YasCommon
{
public:
	YasDownloadConfig(std::string baseURL, int port);
	YasDownloadConfig();

	virtual ~YasDownloadConfig();

	int loadConfigData(const std::string &fileLocation);
	void addPath(const std::string url);
	void addKeyword(const std::string url);

	// Getters and Setters
	void setBaseURL(const std::string url)
	{
		this->baseUrl = url;
	}

	std::string getBaseURL() const
	{
		return this->baseUrl;
	}

	int getPort() const
	{
		return this->port;
	}

	void setPort(int portnum)
	{
		this->port = portnum;
	}

	const std::vector<std::string>& getPaths() const
	{
		return this->paths;
	}

	const std::vector<std::string>& getKeywords() const
	{
		return this->keywords;
	}


private:
	static const int BUFSIZE = 1024;

	std::string baseUrl;

	int port;

	std::vector<std::string> paths;
	std::vector<std::string> keywords;
};

}
#endif
